/* Windows Terminal 主容器 */
.terminal-wrapper {
    width: 100%;
    background: #0C0C0C;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.3);
    margin: 1.5rem 0;
    font-family: 'NerdFontsSymbols Nerd Font', Consolas, monospace;
}

/* 标题栏样式 */
.terminal-title {
    background: #333333;
    color: #F2F2F2;
    padding: 0 12px;
    font-size: 1.1em;
    display: flex !important;
    position: relative;
    justify-content: center; /* 水平居中 */
    align-items: center;
    min-height: 32px;       /* 确保有足够高度 */
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;

    /* 标题段落样式 */
    p {
        margin: 0;               /* 移除默认边距 */
        text-align: center;      /* 文本水平居中 */
        width: 100%;             /* 撑满容器 */
        display: flex;          /* 启用flex布局 */
        align-items: center;    /* 垂直居中 */
        justify-content: center; /* 水平居中 */
        gap: 8px;              /* 图标和文字间距 */
        i.nf {
            display: inline-flex !important; /* 解决::before的block问题 */
            font-style: normal;   /* 取消斜体效果 */
        }
    }
}

/* 标题栏图标 */
.terminal-title::before {
    content: "";
    display: inline-block !important;
    width: 12px;
    height: 12px;
    margin: 0 8px 0 0.5rem;
    background: radial-gradient(circle, #FF5F56 60%, transparent 100%);
    border-radius: 50%;
    box-shadow: 20px 0 0 #FFBD2E, 40px 0 0 #27C93F;
}

/* 内容区域 */
.terminal-content {
    --cursor-color: #62ed8b;
    --cursor-interval: 0.8s;

    padding: 12px;
    margin-left: 1rem !important;
    color: #CCCCCC;
    font-size: 1.1em !important;
    line-height: 1.4;
    max-height: 60vh;  /* 设置最大高度 */
    min-height: 120px; /* 设置最小高度 */;
    overflow-y: auto;   /* 垂直滚动 */
    scrollbar-width: thin;  /* Firefox支持 */

    /* 滚动条轨道 */
    &::-webkit-scrollbar-track {
        background: #1E1E1E;
        border-radius: 5px;
    }

    /* 滚动条滑块 */
    &::-webkit-scrollbar-thumb {
        background: #535353;
        border-radius: 5px;
        &:hover {
            background: #6E6E6E;
        }
    }

    /* 命令行样式 */
    .terminal-line {
        margin: 0;             /* 移除默认外边距，避免行间距过大 */
        white-space: pre-wrap; /* 保留空白符和换行符，同时允许自动换行 */
        word-break: break-word; /* 在单词内换行（比break-all更智能） */
        span {
            display: inline !important;
        }
    }
}

/* 路径信息 */
.terminal-path-line {
    margin: 1rem 0 0 -0.26rem !important;
    font-size: 1em !important;
    &:hover {
        color: #b780ff !important;
    }
}

/* 悬停效果 */
.terminal-line:hover .terminal-command-time {
    color: #79c23a !important;
}

/* 命令行前缀 */
.terminal-platform-icon, .terminal-shell-icon, .terminal-sep {
    font-size: 0.9em;
}

/* 提示符颜色 */
.terminal-shell-icon {
    color: #19CC9D;
}

/* 用户名样式 */
.terminal-user {
    color: #4EC9B0;
    font-weight: bold;
}

/* 分隔符样式 */
.terminal-sep {
    color: #62ed8b;
}

/* 时间样式 */
.terminal-command-time {
    float: right;
    color: #9CDCFE;
    margin: 0 0.5em 0 0.5rem;
    opacity: 0.8;
    transition: opacity 0.3s;
}

/* 平台特定样式 */
.platform-windows .terminal-platform-icon {
    color: #0078D7; /* Windows 蓝 */
}

.platform-linux .terminal-platform-icon {
    color: #FCC624; /* Linux 黄 */
}

.platform-mac .terminal-platform-icon {
    color: #A2AAAD; /* Mac 灰 */
}

/* 错误输出样式 */
.terminal-line.error {
    color: #FF5F5F;
    position: relative;
    padding-left: 1.5em;
}
.terminal-line.error::before {
    content: "✖";
    position: absolute;
    left: 0;
}

/* 光标样式 */
.terminal-cursor {
    position: relative;
    display: inline-block;

    &-blink::after {
        content: '';
        position: absolute;
        left: 2px;
        bottom: 0;
        width: 10px; // 显式定义宽度
        height: 1.2em; // 基于行高
        background-color: var(--cursor-color, currentColor);
        animation: blink var(--cursor-interval) step-end infinite;
    }

    &-block::after {
        border-radius: 2px;
    }

    &-classic::after {
        width: 6px;
    }

    &-bar::after {
        width: 2px;
    }

    &-underline::after {
        top: auto;
        height: 2px;
        bottom: -0.1em;
    }

    @keyframes blink {
        0%, 49% { opacity: 1; }
        50%, 100% { opacity: 0; }
    }
}

/* 滚动条样式 */
.terminal-content::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}
.terminal-content::-webkit-scrollbar-thumb {
    background: #535353;
    border-radius: 5px;
}

[data-theme="dark"] {
    .terminal-title {
        background: #2e2e2e;
    }
    .terminal-wrapper {
        background: #0f3d49;
    }
}